home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dsytd2.z / dsytd2
Encoding:
Text File  |  2002-10-03  |  6.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))                                                          DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSYTD2 - reduce a real symmetric matrix A to symmetric tridiagonal form T
  10.      by an orthogonal similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DSYTD2( UPLO, N, A, LDA, D, E, TAU, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, LDA, N
  18.  
  19.          DOUBLE         PRECISION A( LDA, * ), D( * ), E( * ), TAU( * )
  20.  
  21. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  22.      These routines are part of the SCSL Scientific Library and can be loaded
  23.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  24.      directs the linker to use the multi-processor version of the library.
  25.  
  26.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  27.      4 bytes (32 bits). Another version of SCSL is available in which integers
  28.      are 8 bytes (64 bits).  This version allows the user access to larger
  29.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  30.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  31.      only one of the two versions; 4-byte integer and 8-byte integer library
  32.      calls cannot be mixed.
  33.  
  34. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  35.      DSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal form T
  36.      by an orthogonal similarity transformation: Q' * A * Q = T.
  37.  
  38. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  39.      UPLO    (input) CHARACTER*1
  40.              Specifies whether the upper or lower triangular part of the
  41.              symmetric matrix A is stored:
  42.              = 'U':  Upper triangular
  43.              = 'L':  Lower triangular
  44.  
  45.      N       (input) INTEGER
  46.              The order of the matrix A.  N >= 0.
  47.  
  48.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  49.              On entry, the symmetric matrix A.  If UPLO = 'U', the leading n-
  50.              by-n upper triangular part of A contains the upper triangular
  51.              part of the matrix A, and the strictly lower triangular part of A
  52.              is not referenced.  If UPLO = 'L', the leading n-by-n lower
  53.              triangular part of A contains the lower triangular part of the
  54.              matrix A, and the strictly upper triangular part of A is not
  55.              referenced.  On exit, if UPLO = 'U', the diagonal and first
  56.              superdiagonal of A are overwritten by the corresponding elements
  57.              of the tridiagonal matrix T, and the elements above the first
  58.              superdiagonal, with the array TAU, represent the orthogonal
  59.              matrix Q as a product of elementary reflectors; if UPLO = 'L',
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))                                                          DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))
  71.  
  72.  
  73.  
  74.              the diagonal and first subdiagonal of A are over- written by the
  75.              corresponding elements of the tridiagonal matrix T, and the
  76.              elements below the first subdiagonal, with the array TAU,
  77.              represent the orthogonal matrix Q as a product of elementary
  78.              reflectors. See Further Details.  LDA     (input) INTEGER The
  79.              leading dimension of the array A.  LDA >= max(1,N).
  80.  
  81.      D       (output) DOUBLE PRECISION array, dimension (N)
  82.              The diagonal elements of the tridiagonal matrix T:  D(i) =
  83.              A(i,i).
  84.  
  85.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  86.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  87.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  88.  
  89.      TAU     (output) DOUBLE PRECISION array, dimension (N-1)
  90.              The scalar factors of the elementary reflectors (see Further
  91.              Details).
  92.  
  93.      INFO    (output) INTEGER
  94.              = 0:  successful exit
  95.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  96.  
  97. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  98.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  99.      reflectors
  100.  
  101.         Q = H(n-1) . . . H(2) H(1).
  102.  
  103.      Each H(i) has the form
  104.  
  105.         H(i) = I - tau * v * v'
  106.  
  107.      where tau is a real scalar, and v is a real vector with
  108.      v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in
  109.      A(1:i-1,i+1), and tau in TAU(i).
  110.  
  111.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  112.      reflectors
  113.  
  114.         Q = H(1) H(2) . . . H(n-1).
  115.  
  116.      Each H(i) has the form
  117.  
  118.         H(i) = I - tau * v * v'
  119.  
  120.      where tau is a real scalar, and v is a real vector with
  121.      v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and
  122.      tau in TAU(i).
  123.  
  124.      The contents of A on exit are illustrated by the following examples with
  125.      n = 5:
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))                                                          DDDDSSSSYYYYTTTTDDDD2222((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      if UPLO = 'U':                       if UPLO = 'L':
  141.  
  142.        (  d   e   v2  v3  v4 )              (  d                  )
  143.        (      d   e   v3  v4 )              (  e   d              )
  144.        (          d   e   v4 )              (  v1  e   d          )
  145.        (              d   e  )              (  v1  v2  e   d      )
  146.        (                  d  )              (  v1  v2  v3  e   d  )
  147.  
  148.      where d and e denote diagonal and off-diagonal elements of T, and vi
  149.      denotes an element of the vector defining H(i).
  150.  
  151.  
  152. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  153.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  154.  
  155.      This man page is available only online.
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.